package structs

import "github.com/shopspring/decimal"

// 每个币种的价格
type CoinUsdPrice struct {
	OpenUSD 		decimal.Decimal		`json:"open_usd" redis:"open_usd"`
	HighUSD 		decimal.Decimal		`json:"high_usd" redis:"high_usd"`
	LowUSD 			decimal.Decimal		`json:"low_usd" redis:"low_usd"`
	CloseUSD 		decimal.Decimal		`json:"close_usd" redis:"close_usd"`
	AmountUSD 		decimal.Decimal		`json:"amount_usd" redis:"amount_usd"`
	Volume24h 		decimal.Decimal 	`json:"volume_24h" redis:"volume_24h"`
	NumPairs 		int 				`json:"num_pairs" redis:"num_pairs"`		// 该币出现在多少个交易对中
}

// 交易所分析完成后通过通道发送到 exchange -> coin
type CoinUsdPriceChannelData struct {
	Exchange 		string
	Data 			map[string]*CoinUsdPrice
}

// 分析之后保存到 redis 的数据结构
type Ticker struct {
	Symbol 			string 		`json:"s" redis:"s"`
	From 			string 		`json:"f" redis:"f"`
	To 				string 		`json:"t" redis:"t"`
	Volume 			string 		`json:"v" redis:"v"`		// 交易量，基于币种
	Amount 			string 		`json:"a" redis:"a"`		// 交易额，基于币种
	Percent 		string 		`json:"p" redis:"p"`
	Open 			string  	`json:"o" redis:"o"`
	High 			string 		`json:"h" redis:"h"`
	Low 			string 		`json:"l" redis:"l"`
	Close 			string 		`json:"c" redis:"c"`
	Number 			uint64		`json:"n" redis:"n"`			// 交易笔数
	PriceCny 		string 		`json:"price_cny" redis:"price_cny"`
	PriceUsd 		string 		`json:"price_usd" redis:"price_usd"`
	AmountUsd 		string 		`json:"amount_usd" redis:"amount_usd"`
	AmountCny 		string 		`json:"amount_cny" redis:"amount_cny"`
}